hm.NETでは秀丸マクロで定義されている変数はマクロ実行中のみアクセス可能です。
以下の例で、
の違いを認識しましょう。
マクロ実行中のみ、読み取り・書き換え可能
Hm.Macro.Var["変数名"]
using System; using System.Windows.Forms; using Hidemaru; namespace HmTest { partial class HmTestForm { protected void MethodCreate() { System.Diagnostics.Trace.WriteLine("フォーム生成時"); var fn1 = Hm.Edit.FilePath; System.Diagnostics.Trace.WriteLine(fn1); var fn2 = Hm.Macro.Var["filename2"]; System.Diagnostics.Trace.WriteLine(fn2); } protected void MethodTick() { try { var fn1 = Hm.Edit.FilePath; System.Diagnostics.Trace.WriteLine(fn1); } catch (Exception e) { System.Diagnostics.Trace.WriteLine(e); } try { var fn2 = Hm.Macro.Var["filename2"]; System.Diagnostics.Trace.WriteLine(fn2); } catch (Exception e) { System.Diagnostics.Trace.WriteLine(e); } System.Diagnostics.Trace.WriteLine("チック時"); } protected void MethodDestroy() { System.Diagnostics.Trace.WriteLine("フォームクローズ時"); } } }
前章の「HmNETTest.mac」と同一です。 一度マクロを実行し、「デバッグモニター」にどのように順次表示されるか確認しましょう。
「Hm.Macro.Var["filename2"]」は、チック時にはアクセスできないため、例外が発生することを確認しましょう。